Self-clocking glyph codes are suitable for transferring digital values of various types (e.g., machine control instructions, data values, memory pointers, and executable binaries) back and forth synchronously between the electronic and hardcopy domains. They, therefore, are a promising interface technology for integrating hardcopy documents and computer controlled electronic document processing systems more or less seamlessly.
A self-clocking glyph code typically is generated by mapping logically ordered digital input values of predetermined bit length, n, into a predefined set of 2.sup.n graphically unique symbols (i.e., "glyphs"), each of is preassigned to the encoding of a different one of the permissible input values. Thus, each of the input values is transformed into and encoded by a corresponding glyph. These glyph encodings, in turn, are written on a hardcopy recording medium in accordance with a predetermined spatial formatting rule, thereby producing a glyph code that encodes the input values and preserves their logical ordering.
As will be appreciated, a code of the foregoing type carries the clock signal that is required for transferring the encoded digital values from the hardcopy domain to the electronic domain synchronously. Every input value is represented by a corresponding glyph, so the clock is embedded in the spatial distribution of the logically ordered glyphs. This is why these codes are referred to as "self-clocking" glyph codes. As will be appreciated, the self-clocking characteristic of these codes increases their tolerance to the degradation (i.e., image distortion and background noise) they may suffer when they are reproduced by photocopying and/or facsimile transmission. See a copending and commonly assigned Bloomberg et al. U.S. patent application that was filed Jul. 31, 1990 under Ser. No. 07/560,514 on "Self-Clocking Glyph Shape Codes" (D/89194), which hereby is incorporated by reference.
Prior self-clocking glyph codes are especially well suited for encoding signle bit digital values ("1" or "0"). Some of these codes also are useful for encoding short (e.g., two bit long) multi-bit values, but the cost and complexity of decoding these known codes tend to increase exponentially as a function of the bit lengths of the digital values that are encoded in their glyphs. This follows from the general rule that 2.sup.n filtering steps are required for decoding a glyph code encoding of n-bit long digital values when n&gt;1. Moreover, these existing glyph codes tend to become less robust when they are used for encoding multi-bit values because their per glyph encoding capacity is increased by reducing the graphical distinctions between their glyphs. Accordingly, there is a need for self-clocking glyph codes for encoding dual bit digital values more robustly.